Method and computer program product for weather adapted, consumer event planning

ABSTRACT

A system and method for forecasting future retail performance are described herein. The system includes a storage device that stores a sales history database, a weather history database, and a weather forecast database. An analyzer determines the extent to which past retail performance of a plurality of products at a plurality of locations was affected by weather using the sales history database and the weather history database. A configurator, coupled to the analyzer, estimates expected future retail performance of the products at the stores for a plurality of future time periods using the weather forecast database and results produced by the analyzer. A graphical user interface, coupled to the analyzer and the configurator, enables users to view and manipulate results produced by the analyzer and the configurator to thereby forecast future retail performance of the products at the locations. In an embodiment of the present invention, a consumer weather planner system allows consumers to perform weather-based planning for future events (e.g., golfing, vacations, weddings, etc.).

[0001] Mar. 4, 1994, Attorney Docket No. 1481.0080000, now U.S. Pat. No.5,491,629, incorporated herein by reference in its entirety.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] The present invention relates generally to business performanceforecasting, and more particularly to weather adapted, businessperformance forecasting.

[0004] 2. Related Art

[0005] A. Historical Perspective of Retailing

[0006] The retail industry has historically been influenced by the shapeof the times. For example, the retail industry is impacted by war andpeace, lifestyle changes, demographic shifts, attitude progressions,economic expansion and contraction, tax policies, and currencyfluctuations.

[0007] The period from 1965 to 1975 was marked by growth andsegmentation in the retail industry. New types of stores such asdepartment stores, specialty stores, and discount stores appeared,increasing competition in the retail industry. One result of this growthwas a decrease in gross margin (sales price—cost of goods sold). Anotherresult was a shifting of supply sources. Originally, merchandise wassupplied exclusively by vendors. However, segmentation and growthresulted in specialty chains and discounters manufacturing merchandisein-house (commonly known as vertical integration).

[0008] The period from 1975 to 1980 was marked by disillusionment andcomplexity in the retail industry. Inflation and women entering the workforce in significant numbers resulted in a more sophisticated consumer.Many retailers began to rethink the basics of merchandising in terms ofmerchandise assortments, store presentations, customer service, andstore locations. Other less sophisticated retailers continued on anundisciplined and unstructured policy of store growth.

[0009] The period from 1980 to 1990 was marked by recovery andopportunity in the retail industry. An economic boom stimulated consumerconfidence and demand. This, coupled with the expansion of the previousperiod, paved the way for the retail industry to overborrow andoverbuild. With their increased size, retailers became increasinglyunable to manage and analyze the information flowing into theirorganizations.

[0010] B. Retailing Problems and Opportunities of Today

[0011] The problems and opportunities facing the retailer fall into twocategories of factors: (1) external factors; and (2) internal (orindustry) factors. External factors impacting the retail industryinclude, for example, adverse or favorable weather, rising labor costs,increasing property costs, increased competition, economics, increasingcost of capital, increasing consumer awareness, increasing distributioncosts, changing demographics and zero population growth, decreasinglabor pool, and flat to diminishing per capita income.

[0012] Internal (or industry) factors affecting the retail industryinclude, for example, large number of stores (decentralization),homogeneity among retailers, continuous price promotion (equates todecreased gross margin), decreasing customer loyalty, minimal customerservice, physical growth limitations, and large quantities of specificretailer store information.

[0013] Growth and profitability can only be achieved by maximizing theproductivity and profitability of the primary assets of the retailbusiness: merchandise (inventory), people, and retail space. The aboveexternal and industry factors have added to a retailer's burdens ofmaintaining the productivity of these assets.

[0014] Of the three primary assets, merchandise productivity isparticularly important due to the limiting effect of external andinternal factors on people and space productivity (e.g., physical growthlimitations and high labor costs). Merchandise productivity can be bestachieved by maintaining effective mix of product in a store by productcharacteristic (merchandise assortments).

[0015] To achieve more effective merchandise assortments, a retailermust have a merchandise plan that provides the retailer with the abilityto (1) define, source, acquire, and achieve specific target merchandiseassortments for each individual store location; (2) achieve anefficient, non-disruptive flow from supply source to store; (3) maintainstore assortments which achieve anticipated financial objectives; and(4) communicate effectively across all areas of the business tofacilitate coordinated action and reaction.

[0016] Such an effective merchandise plan must consider all possibleexternal and industry factors. To obtain this knowledge, a retailer musthave responsive and easy access to the data associated with thesefactors, referred to as external and industry data, respectively. Toassimilate and analyze this data, which comes from many sources and inmany formats, retailers began utilizing management information systems(MIS). The primary function of the MIS department in the retail industryhas been the electronic collection, storage, retrieval, and manipulationof store information. Mainframe-based systems were primarily utilizeddue to the large amount of store information generated. Storeinformation includes any recordable event, such as purchasing,receiving, allocation, distribution, customer returns, merchandisetransfers, merchandise markdowns, promotional markdowns, inventory,store traffic, and labor data. In contrast to the extensive collectionand storage of internal data, these systems, did not typically processexternal data. Rather, this non-industry data was simply gathered andprovided to the retailer for personal interpretation.

[0017] Since understanding of local and region level dynamics is arequisite for increased retailing productivity, retailers wouldessentially feed store information at the store level into massivemainframe databases for subsequent analysis to identify basic trends.However, the use of mainframes typically requires the expense of a largeMIS department to process data requests. There is also an inherent delayfrom the time of a data request to the time of the actual execution.This structure prevented MIS systems from becoming cost effective foruse by executives in making daily decisions, who are typically notcomputer specialists and thus rely on data requests to MIS specialists.

[0018]FIG. 37 illustrates a block diagram of a conventional MIS systemarchitecture used in the retail industry. Referring to FIG. 37, an MISarchitecture 3701 captures store information (one form of internal data)and electronically flows this information (data) throughout theorganization for managerial planning and control purposes.

[0019] At point of sale 3704, scanners 3708 and electronic registers3710 record transactions to create POS data 3706. These transactionsinclude data related to customer purchases, customer returns,merchandise transfers, merchandise markdowns, promotional markdowns,etc. POS data 3706 is one form of store information 3716. Storeinformation 3716 also includes other store data 3712. Other store data3712 includes data related to receiving, allocation, distribution,inventory, store traffic, labor, etc. Other store data 3712 is generallygenerated by other in-store systems.

[0020] Store information 3716 is polled (electronically transferred)from point of sale 3704 by headquarters, typically by modem orleased-line means 3717. POS 3704 represents one typical location (retailstore). However, MIS architecture 3701 can support multiple POSlocations 3704.

[0021] A data storage and retrieval facility 3720 receives storeinformation 3716 using computer hardware 3722 and software 3724. Datastorage and retrieval facility 3720 stores store information 3716. Storeinformation 3716 is retrieved into data analyzer 3727. Data analyzer3727 shapes and analyzes store information 3716 under the command of auser to produce data, in the form of reports, for use in the preparationof a managerial plan 3730.

[0022] In the 1970's and 1980's, retrieval of store information 3716into data analyzer 3727 and the subsequent report generation weremanually or electronically generated through a custom request to MISdepartment personnel. More recently, in response to the need for a rapidexecutive interface to data for managerial plan preparation, a largeindustry developed in Executive Information Systems (EIS). Referring toFIG. 37, an EIS 3729, which typically operates on a personal computerworkstation platform, interfaces with the MIS mainframe or mid-rangedatabase in data storage and retrieval facility 3720. An EIS system is acomputer-based system by which information and analysis can be accessed,created, packaged and/or delivered for use on demand by users who arenon-technical in background. Also, EIS systems perform specificmanagerial applications without extensive interaction with the user,which reduces or eliminates the need for computer software training anddocumentation.

[0023] In contrast to store information 3716, external information 3736consists of manual reports covering such topics as economic forecasts,demographic changes, and competitive analysis. In conventional systems,external information 3716 is separately made available to the user forconsideration in developing managerial plan 3730.

[0024] Technical improvements in speed and storage capability ofpersonal computers (PCS) have allowed this trend towards EIS systems totake place, while most firms still maintain a mainframe or minicomputerarchitecture for basic POS data storage and processing. The advent ofpowerful mini computers, local area networks (LANs), and PC systems hasresulted in many of the traditional mainframe retailing applicationsmigrating to these new platforms.

[0025] C. The Nature of Weather Anomalies

[0026] Weather anomalies are more of a regional and local event ratherthan a national phenomenon in countries as geographically large as theUnited States. This is not to say that very anomalous weather cannotaffect an entire country or continent, creating, for example, abnormallyhot or cold seasons. However, these events are less frequent thanregional or local aberrations. Significant precipitation and temperaturedeviations from normal events occur continually at time intervals inspecific regions and locations throughout the United States.

[0027] Because actual daily occurrences fluctuate around the long term“normal” or “average” trend line (in meteorology, normal is typicallybased on a 30 year average), past historical averages can be avery poorpredictor of future weather on a given day and time at any specificlocation. Implicitly, weather effects are already embedded in an MIS POSdatabase, so the retailer is consciously or unconsciously using sometype of historical weather as a factor in any planning approach thatuses trendline forecasts based on historical POS data for a givenlocation and time period.

[0028] D. Weather Relative to National Planning Applications

[0029] At a national level, weather is only one of several importantvariables driving consumer demand for a retailer's products. Severalother factors are, for example, price, competition, quality, advertisingexposure, and the structure of the retailer's operations (number ofstores, square footage, locations, etc). Relative to the national andregional implementation of planning, the impact of all of thesevariables dominates trendline projections.

[0030] As described above, POS databases track sales trends of specificcategories at specific locations which are then aggregated andmanipulated into regional and national executive information reports.Since the impact of local weather anomalies can be diluted whenaggregated to the national levels (sharp local sales fluctuations due toweather tend to average out when aggregated into national numbers), theimpact of weather has not received much scrutiny relative to nationalplanning and forecasting.

[0031] E. Weather Relative to Regional and Local Planning Applications

[0032] The impact of weather on a regional and local level is direct anddramatic. At the store level, weather is often a key driver of sales ofspecific product categories. Weather also influences store trafficwhich, in turn, often impacts sales of all goods. Weather can influencethe timing and intensity of markdowns, and can create stockoutsituations which replenishment cycles can not address due to theinherent time lag of many replenishment approaches.

[0033] The combination of lost sales due to stockouts and markdownsrequired to move slow inventory are enormous hidden costs, both in termsof lost income and opportunity costs. Aggregate these costs on anational level, and weather is one of the last major areas of retailingwhere costs can be carved out (eliminate overstocks) and stores canimprove productivity (less markdown allows for more margin within thesame square footage).

[0034] In short, weather can create windows of opportunity or potentialpitfalls that are completely independent events relative to economics,demographics, consumer income, and competitive issues (price, quality).The cash and opportunity costs in the aggregate are enormous.

[0035] F. Conventional Approaches Addressing Weather Impact

[0036] Though the majority of retailers acknowledge the effects ofweather, many do not consider weather as a problem per se, consideringit as a completely uncontrollable part of the external environment.

[0037] However, the underlying problem is essentially one of predictionof the future; i.e., developing a predictive model. All retailers mustforecast (informally or formally) how much inventory to buy anddistribute based on expected demand and appropriate inventory buffers.Hence, many conventional predictive modeling processes have beendeveloped, none of which adequately address the impact of weather.

[0038] One conventional solution is to purposely not consider the impactof weather on retail sales. In such instances, the retailer willmaintain high inventory levels and rapidly replenish the inventory as itis sold. This approach creates large working capital needs to supportsuch a large inventory.

[0039] Another conventional solution is for the retailer toqualitatively use weather information to anticipate future demands. Thisprocedure, if used by decision makers, is very subjective and does notevaluate weather in a predictive sense. Nor does it quantify the effectof past and future weather on consumer demands.

[0040] Another conventional approach is the utilization of climatology.Climatology is the study of the climates found on the earth. Climatologysynthesizes weather elements (temperature, precipitation, wind, etc.)over a long period of time (years), resulting in characteristic weatherpatterns for a given area for a given time frame (weekly, monthly,seasonably, etc.). This approach does not utilize forecasted weather asa parameter, which can vary considerably from any given time period fromyear to year for a given area. Climatology yields only the averageweather condition, and is not indicative of the weather for any specificfuture time frame.

[0041] Manufacturers and retailers have been known to rely on broadprojections developed by the National Weather Service (the governmentalentity in the USA charged with disseminating weather data to the public)and other private forecasting firms. With reference to long rangeprojections, these may be vague, broad, and lack regional or localspecificity. It is of limited use since they are issued to coveranticipated weather averaged for 30, 60, or 90 day periods coveringlarge geographic areas. This information cannot be quantified or easilyintegrated into an MIS-based planning system which is geared toward adaily or weekly time increment for specific location and time.

[0042] In summary, the above conventional solutions to weather planningproblems in retail all suffer from one or several deficiencies whichseverely limit their commercial value, by not providing: (1) regionaland/or local specificity in measuring past weather impact and projectingfuture weather impact, (2) the daily, weekly, and monthly increment ofplanning and forecasting required in the retail industry, (3) ampleforecast leadtime required by such planning applications as buying,advertising, promotion, distribution, financial budgeting, laborscheduling, and store traffic analysis, (4) the quantification ofweather impact required for precise planning applications such as unitbuying and unit distribution, financial budget forecasting, and laborscheduling, (5) reliability beyond a 3 to 5 day leadtime, (6) apredictive weather impact model, which links quantitative weather impactmeasurement through historical correlation, with quantitative forecasts,(7) the ability to remove historical weather effects from past retailsales for use as a baseline in sales forecasting, (8) an entirelyelectronic, computerized, EIS implementation for ease of dataretrieval/analysis with specific functions that solve specificmanagerial planning applications, and (9) a graphical user interfacerepresenting a predictive model in graphs, formats, and chartsimmediately useful to the specific managerial applications.

[0043] G. Scope of the Problem

[0044] The above discussion focused on the retail industry, i.e., theimpact of weather on the retail industry. Naturally, the effects ofweather are not confined to the retail industry. Instead, weatherimpacts all aspects of human endeavor. Accordingly, the discussion aboveapplies equally well to many other applications, including but notlimited to retail products and services, manufacturing/production (i.e.,construction, utilities, movie production companies, advertisingagencies, forestry, mining), transportation, the entertainment industry,the restaurant industry, etc. Furthermore, like retail companies,activities of individual consumers are affected by the weather. Based onthe forecasted weather, a consumer's planned special event (e.g.,golfing, skiing, fishing, boating, vacations, family reunions, weddings,honeymoons, and the like) will be affected.

SUMMARY OF THE INVENTION

[0045] The present invention is directed to a system and method forforecasting future retail performance. The system includes a storagedevice that stores a sales history database, a weather history database,and a weather forecast database. An analyzer determines the extent towhich past retail performance of a plurality of products at a pluralityof locations was affected by weather using the sales history databaseand the weather history database. A configurator, coupled to theanalyzer, estimates expected future retail performance of the productsat the stores for a plurality of future time periods using the weatherforecast database and results produced by the analyzer. A graphical userinterface, coupled to the analyzer and the configurator, enables usersto view and manipulate results produced by the analyzer and theconfigurator to thereby forecast future retail performance of theproducts at the locations.

[0046] The system also includes a consumer weather planner system whichallows consumers, like retail companies, to perform weather-basedplanning of special events (e.g., golfing, vacations, weddings, and thelike) much like retailers as described above.

[0047] Further features and advantages of the invention, as well as thestructure and operation of various embodiments of the invention, aredescribed in detail below with reference to the accompanying drawings.In the drawings, like reference numbers generally indicate identical,functionally similar, and/or structurally similar elements. The drawingin which an element first appears is indicated by the leftmost digit(s)in the corresponding reference number.

BRIEF DESCRIPTION OF THE FIGURES

[0048] The present invention will be described with reference to theaccompanying drawings, wherein:

[0049]FIG. 1 is a block diagram of a weather adapted, retail performanceforecasting system according to a preferred embodiment of the presentinvention;

[0050]FIG. 2 is a block diagram of a computer system preferably used toimplement the present invention;

[0051]FIG. 3 is a dataflow diagram of an analyzer and a configurator ofthe forecasting system;

[0052]FIG. 4 is a dataflow diagram of a graphical user interface of theforecasting system;

[0053]FIG. 5 is a dataflow diagram of administration setup of theforecasting system;

[0054]FIGS. 6, 13A, 13B, 14, 15, 16, 17, 18, 19, 20, and 21 areflowcharts depicting the preferred operation and control flow of thepresent invention;

[0055]FIGS. 7, 8, 9, 10, 11, 12, 13C, and 22 depict preferred databasesused by the present invention;

[0056]FIGS. 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34 35, 36A, 36B,38, 39, 40, 41, and 42 are windows or screen shots generated by thegraphical user interface of the present invention;

[0057]FIG. 37 is a block diagram of a conventional MIS systemarchitecture used in the retail industry;

[0058]FIG. 43 is a flowchart depicting the preferred operation andcontrol flow of the consumer forecast system of the present invention;

[0059]FIGS. 44, 46 and 48 are flowcharts illustrating the detailedoperation of the modules of the consumer forecast system of the presentinvention;

[0060]FIGS. 45, 47, 49A and 49B are screen shots depicting the outputreport formats of the consumer forecast system of the present invention;and

[0061]FIGS. 50A, 50B, 50C and 50D are screen shots depicting exemplarygraphical user interface input screens for the consumer forecast systemof the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0062] Overview of the Invention

[0063] The present invention is directed to a system and method forretail performance forecasting. As used herein, the term “retailperformance” refers to all statistical metrics related to retail salesperformance, such as gross revenue, net revenue, unit sales, customertraffic, etc. For convenience, the present invention is described hereinin the context of a retail environment. However, it should be understoodthat the invention is adapted and envisioned for use at any commerciallevel, such as manufacturing, distribution, value added reselling, etc.,in addition to retail. Moreover, the present invention is well suitedand adapted for use with any endeavor and/or industry and/or market thatis potentially or actually impacted by weather. This includes, but isnot limited to, retail products and services, manufacturing/production(i.e., construction, utilities, movie production companies, advertisingagencies, forestry, mining), transportation, the entertainment industry,the restaurant industry, etc.

[0064] The present invention is “weather adapted.” In other words, thepresent invention when forecasting retail performance takes the affectof weather into consideration. For example, suppose the invention isused to forecast the opportunity of the snow sled market for nextJanuary. In performing this forecasting function, the present inventionwill take into consideration the weather predictions for next January(whether snow will be below seasonal, seasonal, or above seasonal, forexample). Because it takes weather into consideration, the presentinvention is generally more accurate than similar systems and methodsthat do not take the affect of weather into consideration.

[0065]FIG. 1 is a block diagram of a weather adapted, retail performanceforecasting system 102 (also called system herein) according to apreferred embodiment of the present invention. The system 102 includes aAdministrator Setup 104, an analyzer 106, a decision support engine 108(also called configurator herein), and a graphical user interface (GUI)110.

[0066]FIG. 21 presents a flowchart 2102 depicting the high-leveloperation of these components. In flowchart 2102, steps 2118 areperformed by the Administrator Setup 104 in accordance with commandsfrom a system administrator 502 (FIG. 5). Steps 2120 are performed bythe analyzer 106, configurator 108, and GUI 110 in accordance withcommands from an user 402 (FIG. 4). The system administrator 502 anduser 402 may or may not be the same person. Flowchart 2102 shall now bedescribed, with reference to FIG. 5 (a data flow diagram of theAdministrator Setup 104), FIG. 3 (a data flow diagram of the analyzer106 and configurator 108), and FIG. 4 (a data flow diagram of the GUI110). Flowchart 2102 begins with step 2104, where control immediatelypasses to step 2106.

[0067] In step 2106, the Administrator Setup 104 and the GUI 110 enablethe system administrator 502 to define a customized view per a party'sspecifications. Step 2106 shall now be described in detail withreference to FIG. 5.

[0068] The present invention makes use of weather and sales data 304,505. The weather data includes seasonal weather data (for example, theaverage temperature in June), historical weather data (for example, thetemperature last June), and forecast weather data (for example, aprediction as to what the temperature will be next June). The seasonalweather data, for example, seasonal temperature, represents a narrowrange of temperatures, which is implementation dependent, for a specificlocation and period. It is based upon the 40% of occurrences centeredaround the mean temperature during a 30 year period. The historicalweather data preferably represents a library of historical weather datacovering two to five years, although other time spans are alternativelypossible and envisioned by the present invention. The forecast weatherdata represents weather predictions for preferably fifteen monthsalthough other time spans are alternatively possible and envisioned bythe present invention. Databases of seasonal weather data and historicalweather data are available from many publicly and/or commerciallyavailable publications and services. The forecast weather data iscommercially available from Strategic Weather Services of Wayne, Pa.Other forms of forecast weather data are available from other commercialsources, but these other forms cannot be used directly with the presentinvention. Instead, they must be modified so as to be consistent withthe form and substance discussed herein.

[0069] The Weather Database 505 comprises Weather History 306, WeatherPatterns 308 and Weather Forecasts 312. The Sales Database 304represents a party's historical sales data. The party is an entity (suchas a chain of retail stores) who wishes to use the forecasting system102 to predict future retail performance. (The user 402 mentioned aboveis preferably an employee of the party.) The sales history database 304preferably includes historical sales data pertaining to all productsoffered for sale at all of the party's commercial outlets. Typically,the sales data includes the past year's historical sales data, but mayinclude other time spans.

[0070] As one will appreciated, Weather Database 505 and Sales historydatabase 304 are potentially very large. Also, much of the informationcontained in the weather database 505 and sales database 304 may not bepertinent to needs of the party. For example, the party may be onlyinterested in the past two years' historical weather data. Also, theparty may only be interested in analyzing the performance of a subset ofits commercial outlets, and/or a subset of the products that it offers.Accordingly, the present invention allows the party to filter the datafrom both the weather database 505 and the sales history database 304,and supply only the data desired to the Analyzer 106 from both databasesby the System Administrator 502. The data filtering process is performedby the Administrator Setup 104.

[0071] Accordingly, in step 2106 the system administrator 502 interactswith the Administrator Setup 104 via the GUI 110 to customize a view(i.e., to establish the parameters of the impending view). The systemadministrator 502 customizes the view in accordance with specificationspreviously provided to the party. For example, the party may havespecified to include only Stores A, B, and E in the view, and/or toinclude only performance data relating to shoes and shirts in the view,and/or to include only forecast weather data for January through May ofnext year. Step 2106 is described in greater detail below.

[0072] In step 2108, the Administrator Setup 104 creates a view inaccordance with the party's specifications. In essence, theAdministrator Setup 104 in step 2108 extracts from the weather database505 and sales history database 304 the weather and sales informationneeded to satisfy the party's specifications as defined in step 2106(for example, if the party specified shoes in step 2106, then retailperformance data relating to shoes is extracted from the sales database506 in step 2108). The Administrator Setup 104 stores the extracted datain an analyzer input database 302 and a weather forecast database 312.

[0073] The analyzer input database 302 is used in the Analyzer 106, theweather forecast database 312 is used in conjunction with the analyzeroutput database 310 in the configurator 108. The analyzer outputdatabase 310 and the weather forecast database 312 are utilized by theparty to forecast future retail performance.

[0074] In step 2112, the analyzer 106 at each client site receives theanalyzer input database 302 (see FIG. 3). The analyzer input database302 includes a sales history database 304, a weather history database306, and a weather patterns database 308. These databases 304, 306, and308 are described below. The analyzer 106 analyzes the analyzer inputdatabase 302, and produces an analyzer output database 310. Generallyspeaking, the analyzer output database 310 includes data that indicatesthe manner in which the retail performance of each product at each storewas affected by weather. The operation of the analyzer 106 is discussedin greater detail below.

[0075] Also in step 2112, the configurator 108 analyzes the analyzeroutput database 310 and the weather forecast database 312 and produces aconfigurator output database 314. Generally speaking, the configuratoroutput database 314 includes data that indicates the expected futureretail performance of each product at each store. In generating theconfigurator output database 314, the configurator 108 takes intoconsideration the affects of predicted future weather. The operation ofthe configurator 108 is discussed in greater detail below.

[0076] In step 2114, the GUI 110 enables users 402 at each client site(who are typically employed by the party) to extract and analyze inmeaningful ways information from the analyzer output database 310, theweather forecast database 312, and the configurator output database 314.The operation of the GUI 110 is discussed in greater detail below.

[0077] Flowchart 2102 is complete after step 2114 has been performed, asindicated by step 2116.

[0078] Preferred Implementation of the Present Invention

[0079] In one embodiment, the invention is directed to a computer systemoperating as discussed herein. Specifically, the forecasting system 102could be implemented using a computer system 202 as shown in FIG. 2.Typically, a computer system 202 implementing the forecasting system 102of the present invention would be located at the view site and at eachof the client sites.

[0080] The computer system 202 includes one or more processors, such asprocessor 204. The processor 204 is connected to a communication bus206.

[0081] The computer system 202 also includes a main memory 208,preferably random access memory (RAM). Control logic 210 (i.e.,software) and data 212 (such as the analyzer input database 302, theanalyzer output database 310, the weather forecast database 312, and theconfigurator output database 314) are stored in the main memory 208, andmay also be stored in secondary storage 214.

[0082] The computer system 202 also includes secondary storage 214. Thesecondary storage 214 includes, for example, a hard disk drive 216and/or a removable storage drive 218, representing a floppy disk drive,a magnetic tape drive, a compact disk drive, etc. The removable storagedrive 218 reads from and/or writes to a removable storage unit 220 in awell known manner.

[0083] Removable storage unit 220, also called a program storage deviceor a computer program product, represents a floppy disk, magnetic tape,compact disk, etc. As will be appreciated, the removable storage unit220 includes a computer usable storage medium having stored thereincomputer software and/or data.

[0084] Computer programs (also called computer control logic) are storedin main memory 208 and/or the secondary storage 220. Such computerprograms, when executed, enable the computer system 202 to perform thefeatures of the present invention as discussed herein. In particular,the computer programs, when executed, enable the processor 204 toperform the features of the present invention. Accordingly, suchcomputer programs represent controllers of the computer system 202.

[0085] In another embodiment, the invention is directed to a computerprogram product comprising a computer readable medium having controllogic (computer software) stored therein. The control logic, whenexecuted by the processor 204, causes the processor 204 to perform thefunctions of the invention as described herein.

[0086] In another embodiment, the invention is implemented primarily inhardware using, for example, a hardware state machine. Implementation ofthe hardware state machine so as to perform the functions describedherein will be apparent to persons skilled in the relevant art(s).

[0087] The computer system 202 also includes input devices 222, such asa keyboard and/or a mouse, and display devices 224, such as a computermonitor.

[0088] Analyzer Input Database

[0089] The analyzer input database 302 includes a sales history database304, a weather history database 306, and a weather patterns database308. These are described below.

[0090] Sales History Database

[0091] An example sales history database 304 (alternatively called theproduct history database) is shown in FIG. 7. The sales history database304 includes, for each year in the view, one or more records (or rows)for each product sold in each store. For any given product/storecombination, there is a record for each of several data types. The datatypes represent performance metrics that are being tracked, such asgross revenue, net revenue, number of items sold, etc.

[0092] It should be understood that the invention accommodates andsupports any business and/or product related data. In addition to thatmentioned above, such product data (that is stored in the sales historydatabase 304) includes retail POS data, shipment data (manufacturingplant, wholesales, etc.), inventory data, store traffic data, economicdata, demographic data, order data, etc.

[0093] Each record also includes historical performance information forthe product/store combination on a per period basis.

[0094] For example, the records shown in the example sales historydatabase 304 in FIG. 7 pertain to HATS (i.e., the product) sold inStore011 (i.e., the store or location). Records 702 and 706 pertain tohistorical information for 1994, and records 704 and 708 pertain tohistorical information for 1995. The data type for record 702 is “NetDollars,” which represents net sales revenue. Record 702 includes netsales revenue information for HATS sold in Store001 in 1994. This netsales revenue information is provided on a per period basis. A periodmay be any increment of time, such as a day, a month, a quarter, etc.For convenience purposes, only six periods P1-P6 are shown in FIG. 7.There may be more or less periods, depending on the actualimplementation.

[0095] The information contained in the sales history database 304depends on the party's specifications that were provided to theAdministrator Setup 104 during the view process. For example, the partymay have indicated that it only wanted data on hats and shoes. In thiscase, no data would be contained in the sales history database 304 aboutany other product but hats and shoes (for clarity, the sales historydatabase 304 in the example of FIG. 7 only has entries on hats).Alternatively, the party may have indicated that it was only interestedin the net sales revenue and the number of items sold (as shown in FIG.7). Alternatively, the party may have indicated that it wanted toanalyze data on a bi-weekly basis (in which case the periods would eachcorrespond to a two week period).

[0096] Weather History Database

[0097] An example weather history database 306 is shown in FIG. 8. Theweather history database 306 includes, for each year in the view, one ormore records for each metropolitan area (MA). (The term MA closelyresembles the well known name Metropolitan Statistical Area (MSA).However MA encompasses a larger surrounding geographical area/regionthan the strict MSA definition.) (However, since MA and MSA are similar,they are used interchangeably herein.) The Weather History databasecontains but is not limited to data on 309 metropolitan areas. Theserecords contain information specifying the weather that occurred in thesubject MA in the time span represented in the view. Specifically, foreach MA, there is a record for each of several weather data types.

[0098] The are three classes of weather data types as it relates to theweather history database: seasonal, actual, and category (also calledweather pattern). A seasonal data type is the seasonal (or average)value of a weather parameter. Accordingly, the data type “temp.sea” isthe average temperature. The data type “snow.sea” is the averagesnowfall. The data type “prec.sea” is the average precipitation.

[0099] An actual data type is the actual value of a weather parameter.Accordingly, the data type “temp” is the actual temperature. The datatype “snow” is the actual snowfall. The data type “prec” is the actualprecipitation.

[0100] A category data type reflects a weather parameter's actual versusseasonal values. Accordingly, the data type “temp.cat” reflects actualtemperature versus seasonal temperature. The data type “prec. cat”reflects actual precipitation versus seasonal precipitation. If acategory data type is equal to 1, then the actual value was greater thanthe seasonal value. If a category data type is equal to 0, then theactual value was equal to (or substantially corresponded to) theseasonal value. If a category data type is equal to −1, then the actualvalue was less than the seasonal value. These relationships aresummarized in the weather pattern legend 1102 presented in FIG. 11. Ofcourse, values other than 1, 0, and −1 could be alternatively used toindicate these relationships.

[0101] The historical weather information in the weather historydatabase 306 is provided on a per period basis. As indicated above, theperiod may be any increment of time, such as daily, weekly, bi-weekly,monthly, bimonthly, quarterly, etc. Preferably, the increment of timerepresented by a period is the same in all of the databases.

[0102] The Administrator Setup 104 process determines the informationthat is stored in the analyzer input database 302. For example, thelength of the period is specified during the Administrator Setup 104process. Also, the years and the locations (i.e., MAs) to be representedin the weather history database 306 are specified in the AdministratorSetup process. As noted above, the Administrator Setup process iscustomized by the system administrator 502 in accordance with theparty's specifications. Additional information on the AdministratorSetup 104 can be found below.

[0103] Note that the weather history database 306 is on a per MA basis,whereas the sales history database 304 is on a per store basis.Typically, a plurality of stores are located in each MA. The forecastingsystem 102 maintains a store/MA table 1002 (FIG. 10) that provides amapping between stores and MAS. The information contained in thestore/MA table 1002 is preferably provided by the party (i.e., theentity that owns and/or manages the stores).

[0104] Weather Patterns Database

[0105] The present invention makes use of a number of different weatherpatterns to characterize the weather that occurred during any given pastperiod, or that is predicted to occur during any given future period.Preferred weather patterns are presented in FIG. 9. As indicated in FIG.9, exemplary weather patterns employed by the present invention includetemperature/precipitation, temperature/snow, sustained weather,temperature/precipitation lag 1 period, and temperature/snow lag 1period. The present invention is not limited to these weather patterns,for example patterns also include temperature/precipitation/snowcombinations.

[0106] The temperature/precipitation and temperature/snow weatherpatterns are self-explanatory.

[0107] The sustained weather pattern represents contiguous weeks (orother periods) of similar weather, for example having “temperaturesustained two weeks” as a pattern.

[0108] The “temperature seasonal/precipitation seasonal lag 1 period”pattern represents the occurrence of “temperature seasonal/precipitationseasonal” in the previous week.

[0109] The temperature seasonal/snow seasonal lag 1 period is similar tothe above.

[0110] As indicated by the above list, each weather pattern includes oneor more weather parameters. For example, the temperature/precipitationweather pattern includes the temperature parameter and the precipitationparameter. For any given period, each parameter can be either seasonal,below seasonal, or above seasonal (except the sustained weather pattern,described above). For any given period, the values of these weatherpatterns are represented by the entries in the weather history database306 having the category data type. For example, in 1994, the weatherpattern in MSA100 during period P1 was temperature aboveseasonal/precipitation above seasonal (see records 802 and 804 in FIG.8). This weather pattern is abbreviated by T1P1 (see FIG. 11). Theweather patterns 308 is a file containing but not limited to allpatterns depicted in FIG. 9. This file is used as the “look up” to allowthe system to determine which patterns it will use.

[0111] Weather Forecast Database

[0112] An example weather forecast database 312 is shown in FIG. 22. Theweather forecast database 312 includes, for each future year in theview, one or more records for each metropolitan area (MA). These recordscontain information specifying the weather that is predicted to occur inthe subject MA in the future time span represented in the view.Specifically, for each MA, there is a record for each of several weatherdata types.

[0113] There are also three classes of weather data types as in theweather history database: seasonal, actual, and category (also calledweather pattern). These are the same as those described above withrespect to the weather history database 306. Accordingly, thedescription above of the weather history database 306 also applies tothe weather forecast database 312.

[0114] Relationship Between Past and Future Databases

[0115] As evident by the description above, the sales history database304, weather history database 306, and weather patterns database 308 arepast databases because they contain historical information. The weatherforecast database 312 is a future database because it containsinformation pertaining to predicted weather in the future.

[0116] All of these databases contain information on a per period basis.The increment of time represented by a period is the same in all of thedatabases. Suppose that the increment of time is set equal to a month inthe Administrator setup process. In this example, period P1 representsJanuary. Specifically, in the sales history database 304, weatherhistory database 306, and weather patterns database 308, period P1represents January of a past year. In the weather forecast database 312,period P1 represents January of a future year.

[0117] Time Periods

[0118] As discussed above, data may be stored in the analyzer inputdatabase 302 and the weather forecast database 312 using any timeincrement or period, including but not limited to daily, weekly,monthly, quarterly, etc. For example, the revenue sales for eachlocation may be stored in the sales history database 304 on a dailybasis, a weekly basis, a monthly basis, or a quarterly basis. Similarly,weather forecast information for each location may be stored in theweather forecast database 312 on a daily basis, a weekly basis, amonthly basis, or a quarterly basis. Preferably, the timeincrement/period is the same in both the analyzer input database 302 andthe weather forecast database 312. The time increment/period ispreferably user selectable. In practice, the system administratorselects the time increment/period during the administrator setup 104process (described below).

[0119] Operation of the Analyzer

[0120] As noted above, analyzer 106 determines the manner in which theretail performance of each product at each store was affected byweather. Such operation of the analyzer 106 shall now be described.Reference shall be made to a flowchart 602 in FIG. 6, which representsthe steps performed by the analyzer 106 while performing step 2112 inFIG. 21 (described above). Flowchart 602 begins with step 604, wherecontrol immediately flows to step 606.

[0121] In step 606, the analyzer 106 selects two prior years forevaluation. Preferably, the analyzer 106 in step 606 selects theimmediately two prior years for evaluation (in which case these yearsare referred to as Year N-1, and Year N-2, where N is the current year),but the analyzer 106 could alternatively select any two or more pastyears for analysis. Assume, for purposes of illustration, that theanalyzer 106 selected 1994 and 1995.

[0122] In step 608, the analyzer 106 selects a store/productcombination. That is, the analyzer 106 selects a store and a product forevaluation. For purposes of illustration, assume that the analyzer 106selects Store001, and the product HATS.

[0123] In step 610, the analyzer 106 uses the weather patterns database308 and selects a weather pattern for evaluation. For illustrativepurposes, assume that the analyzer 106 asserts the T1P1 weather patternfor evaluation (temperature above seasonal/precipitation aboveseasonal).

[0124] At this point, the analyzer 106 has selected a store, a product,and a weather pattern for evaluation. The analyzer 106 has also selectedtwo years on which to base the evaluation. In the following steps, theanalyzer 106 determines the extent to which the selected weather pattern(in this case, T1P1) affected the retail performance of the selectedproduct (HATS) in the selected store (Store001) over the selected twoyears (1994 and 1995).

[0125] In step 612, the analyzer 106 selects a period for evaluation.Suppose that the analyzer 106 selects period P1.

[0126] In step 614, the analyzer 106 determines whether the selectedweather pattern occurs in the selected period of only one of the twoselected years. Consider, for example, records 802-805 in the weatherhistory database 306 shown in FIG. 8. In period P1, the weather patternT1P1 occurred in both 1994 and 1995.

[0127] If the analyzer 106 in step 614 determined that the selectedweather pattern did not occur in the selected period of only one of thetwo selected years (as was the case in period P1; this is also the casein periods P2, P4, P5, and P6), then step 618 is performed. In step 618,the analyzer 106 selects another period for evaluation.

[0128] If, instead, the analyzer 106 in step 614 determined that theselected weather pattern did occur in the selected period of only one ofthe two selected years (as is the case in period P 3; note that theweather pattern T1P1 occurs only in 1995), then step 616 is performed.

[0129] In step 616, the analyzer 106 determines whether the selectedweather pattern had a positive impact, a negative impact, or no impacton retail performance in the selected period from Year N-2 to Year N-1.The selected weather pattern had a positive impact if performanceimproved in the selected period from Year N-2 to Year N-1. The selectedweather pattern had a negative impact if performance worsened in theselected period from Year N-2 to Year N-1. The selected weather patternhad no impact if performance was the same in the selected period fromYear N-2 to Year N-1. Referring to the sales history database 304 inFIG. 7, note that net revenue for HATS in Store011 in Period 3 was $60for 1994, and $30 for 1995. Thus, the selected weather pattern T1P1 hada negative impact on the sales of HATS in Store001 during period P3 from1994 to 1995.

[0130] Also in step 616, the analyzer 106 increments the positivecounter, negative counter, or the no change counter. The positivecounter is incremented if it is determined that the selected weatherpattern had a positive impact on retail performance in the selectedperiod from Year N-2 to Year N-1. The negative counter is incremented ifit is determined that the selected weather pattern had a negative impacton retail performance in the selected period from Year N- 2 to Year N-1.The no change counter is incremented if it is determined that theselected weather pattern had no impact on retail performance in theselected period from Year N-2 to Year N-1.

[0131] In step 618, the analyzer 106 determines if there are otherperiods to process. The number of periods in any given year werepreviously determined during the view process, as discussed above. Ifthere are additional periods to process, then control returns to step612. The analyzer 106 processes steps 612, 614, 616, and 618 for eachperiod in the years selected in step 606.

[0132] If there are no more periods to process, then step 620 isperformed. In step 620, the analyzer 106 stores the results for theselected weather pattern. This data is stored in the analyzer outputdatabase 310. An example analyzer output database 310 is shown in FIG.12. The analyzer output database 310 includes a record for each weatherpattern/store/product combination. Each record stores the positivecount, the negative count, and the no change count for the weatherpattern/store/product combination. These counts indicate the manner inwhich the selected weather pattern impacted the retail performance ofthe selected product in the selected store.

[0133] In step 622, the analyzer 106 determines whether there areadditional weather patterns to process. Preferably, the analyzer 106processes all possible weather patterns (see FIG. 9)for eachproduct/location combination. In step 623, the analyzer 106 calculates ascore for each pattern for each product/location combination and storesthese scores in the file “AEOUTPUT.DAT”

[0134] If there are additional weather patterns to process, then controlreturns to step 610. Otherwise, control flows to step 624.

[0135] In step 624, the analyzer 106 determines whether there areadditional store/product combinations to process. Preferably, allstore/combinations are processed. If there are additional store/productcombinations to process, then control flows to step 608. Otherwise,flowchart 602 is complete, as indicated by step 626.

[0136] Operation of the Configurator

[0137] As discussed above, the configurator 108 determines the expectedfuture retail performance of each product at each store. When performingthis task, the configurator 108 takes into consideration the affects ofpredicted future weather. Such operation of the configurator 108 shallnow be described in detail with reference to a flowchart 1302 presentedin FIGS. 13A and 13B. Flowchart 1302 represents the operation of theconfigurator 108 while performing step 2112 in FIG. 21. Flowchart 1302begins with step 1304, where control immediately passes to step 1306.

[0138] In step 1306, the configurator 108 selects a product to evaluate.For illustrative purposes, assume that the configurator 108 selectsHATS.

[0139] In step 1308, the configurator 108 selects a location or store toevaluate. Assume that the configurator 108 selects Store001.

[0140] In step 1310, the configurator 108 selects a period in a futuretime span to evaluate. Assume that the configurator 108 selects periodP1 in the future time span.

[0141] At this point, the configurator 108 has selected a product, astore, and a future period. In the following steps, the configurator 108estimates the retail performance of the selected product in the selectedstore during the selected future time period. In doing this, theconfigurator 108 takes into account the affect of the weather that ispredicted to occur in the future time span.

[0142] In step 1312, the configurator 108 identifies the weather patternthat occurs in the predicted future time period. Consider, for example,weather forecast database 312 in FIG. 22. As indicated by records 2202and 2204, the predicted weather pattern in MSA100 (where Store001 islocated; see FIG. 10) in future period P1 is T1P1. Accordingly, in thisexample, the configurator 108 in step 1312 identifies weather patternT1P1 as occurring in the selected future time period P1.

[0143] Many weather patterns potentially occur in any given period. Forexample, the weather pattern T1S1 (temperature above seasonal/snowfallabove seasonal) also occurs in future time period P1. In step 1312, theconfigurator identifies all weather patterns that occur in the selectedfuture time period.

[0144] In step 1314, the configurator 108 determines the manner in whichthese identified weather patterns have, in the past, impacted the saleof the selected product in the selected store. In particular, in step1314 the configurator 108 retrieves from the analyzer output database310 (also called “aeoutput.dat”) the positive, negative, and no changecounts for the selected product/selected store combinations. Theconfigurator 108 does this for each identified weather pattern. Theconfigurator 108 stores these counts in a temporary memory location.

[0145] Consider the example analyzer output database 310 shown in FIG.12. In step 1314, the configurator 108 retrieves the positive, negative,and no change counts from record 1202. This record corresponds toStore001 (the selected store), HATS (the selected product), and T1P1(one of the weather patterns identified in the selected period P1). Alsoin step 1314, the configurator 108 retrieves the positive, negative, andno change counts from record 1204. This record corresponds to Store001(the selected store), HATS (the selected product), and T1S1 (the otherweather pattern identified in the selected period P1).

[0146] As indicated above, the configurator 108 performs steps 1312 and1314 for every predicted weather pattern identified in the selectedperiod. This is indicated by step 1316. After all weather patterns inthe selected period have been identified (in step 1312) and processed(in step 1314), control flows to step 1318.

[0147] In step 1318, the configurator 108 totals all positive counts toobtain a total positive count for the selected period. Also, theconfigurator 108 totals all negative counts to obtain a total negativecount for the selected period. Also, the configurator 108 totals all nochange counts to obtain a total no change count for the selected period.In the example of FIG. 12, the total positive count is 4, the totalnegative count is 1, and the total no change count is 0.

[0148] In step 1320, the configurator 108 uses the total positive count,the total negative count, and the total no change count to obtain ascore for the selected future period. This score represents anindication of the predicted strength of the market for the selectedproduct in the selected store for the selected future time period inview of the predicted weather. The manner in which this score isgenerated is discussed below.

[0149] In step 1322, the configurator 108 determines whether there areadditional periods in the future time span to process for the selectedproduct/selected store combination. The user 402 preferably specifiesthe periods in the future time span to process. If there are moreperiods to process, then control returns to step 1310. Otherwise,control flows to step 1324.

[0150] In step 1324, the configurator 108 stores information pertainingto the selected product/selected store combination in the configuratoroutput database 1390 (also called “conf-out.dat”). The configuratoroutput database 1390 includes a record for each store/productcombination. Each record stores the total positive count, total negativecount, total no change count, and score for each period for thestore/product combination.

[0151] In step 1326, the configurator 108 determines whether there areany additional locations (i.e., stores) to analyze. Preferably, the user402 selects the locations to analyze. If there are more stores toanalyze, then control returns to step 1308. Otherwise, control flows tostep 1328.

[0152] In step 1328, the configurator 108 determines whether there areany other products to analyze. If there are more products to analyze,then control returns to step 1306. Otherwise, flowchart 1302 iscomplete, as indicated by step 1330.

[0153] Calculating Scores

[0154] As discuss above, the configurator 108 in step 1320 of FIG. 13Buses the total positive count, the total negative count, and the totalno change count to obtain a score for the selected future period. Thisscore represents an indication of the predicted strength of the marketfor the selected product in the selected store for the selected futuretime period in view of the predicted weather. Also discussed above, theanalyzer 106 in step 623 of FIG. 6 uses the total positive count, thetotal negative count, and the total no change count to obtain a scorefor each weather pattern for each store/product combination across allhistorical periods processed. The manner in which these scores is aregenerated shall now be discussed.

[0155] The invention uses a “calc strength” algorithm/calculation tocalculate scores for both the analyzer 106 and configurator 108. Thecalc strength algorithm itself uses a well known binomial distributionalgorithm. For example, The steps that make up the calc strengthalgorithm are depicted in a flowchart 1602 shown in FIG. 16 whichdisplays the use of the calc strength algorithm in the configurator 108.Flowchart 1602 begins with step 1604, where control immediately passesto step 1606.

[0156] In step 1606, the configurator 108 sums the positive count, thenegative count, and the no change count to obtain a total count for eachfuture period. In the example of FIG. 12, described above, the totalpositive count is 4, the total negative count is 1, and the total nochange count is 0. Accordingly, in step 1606 the configurator 108obtains a total count of 5.

[0157] In step 1608, the configurator 108 selects either the positivecount, the negative count, or the no change count in the calc strengthcalculation. The configurator 108 preferably selects the greater ofeither the positive count, the negative count, and the no change count.In the example of FIG. 12, the total positive count is greater thaneither the total negative count or the total no change count.Accordingly, the configurator 108 in step 1608 selects the positivecount to use.

[0158] In step 1610, the configurator 108 determines whether the totalcount is equal to zero. If it is equal to zero, then in step 1620 theconfigurator 108 sets the results of the calc strength calculation tozero. If the total count is not equal to zero, then step 1612 isperformed.

[0159] In step 1612, the configurator 108 processes the binomialdistribution equation that is part of the calc strength calculation. Thepreferred binomial distribution equal is as follows: $\begin{matrix}\frac{\frac{{selected}\quad {count}}{{total}\quad {count}} - 0.5}{\sqrt{{ABS}\frac{\left( {0.5*\left( {1 - 0.5} \right)} \right)}{{total}\quad {count}}}} & {{Equation}\quad 1}\end{matrix}$

[0160] In step 1614, the configuration 108 modifies (or limits) theresult of Equation 1. In particular, if the result of Equation 1 is lessthan 0, then the result is set equal to 0. If the result is greater than4, then the result is set equal to 4. If the result is within the rangeof 0 to 4 (inclusive), then the result is set equal to the integercomponent of the result (this integer function may alternatively beperformed by code outside of the configurator 108). It is noted thatthis range is implementation dependent, and can be other values.

[0161] In step 1616, the result is returned. This result represents thescore. Flowchart 1602 is complete after step 1616 is performed, asindicated by step 1618.

[0162] Operation of the GUI

[0163] The GUI 110 enables users to perform the Administrator Setup 104which prepares and processes the analyzer input database 302. Also, Asdiscussed above, the GUI 110 enables users 402 to extract and analyze inmeaningful ways information from the analyzer output database 310, theweather forecast database 312, and the configurator output database 314.The operation of the GUI 110 shall now be discussed in detail.

[0164]FIG. 20 depicts the manner in which users 402 may navigate throughfunctions and services provided by the forecasting system 102. Users 402navigate through the system 102 as shown in FIG. 20 via interaction withthe GUI 110. It should be understood that the control flows shown inFIG. 20 are presented for example purposes only. The GUI 110 of thepresent invention is sufficiently flexible and configurable such thatusers 402 may navigate through the system 102 in ways other than thatshown in FIG. 20.

[0165] Upon initiation of the forecasting system 2004, the user 402 ispresented with a main menu 2004. The main menu 2004 is preferablydisplayed on the computer monitor 224 (this is true of all screensdescribed herein). The main menu 2004 provides to the user 402 variousmenu selections, such as administrator setup 104, weather impact 2006,weather optimization 2012, weather pattern search 2014, and locationreport 2018. The user 402 must first navigate through the administratorsetup 104 before proceeding to other menu selections.

[0166] Administrator Setup

[0167]FIG. 37 presents a screen from GUI 110 that represents theoperation of the present invention when performing the administratorsetup 104. The system administrator 502 uses the administrator setup 104to prepare the analyzer input database 302 for use with the analyzer106. In particular, the administrator setup 104 is used to filter theall weather database 505 and the sales history database according to theclient's specifications so as to generate the analyzer input database302 and the weather forecast database 312, as discussed above.

[0168] Referring to FIG. 38, the first step in the administrator setup104 is to define a view name 3802. The view name 3802 is typed by thesystem administrator 502. The view name 3802 is any file name supportedby the underlying operating system. The view name is simply the name ofthe view that is being created.

[0169] The system administrator 502 then enters a time frame in field3804. The time frame represents the time span of the view. Preferably,the system administrator 502 double clicks on “Time Frame,” whichresults in the display of atime frame entry window 3902 in FIG. 39. InFIG. 39, the system administrator 502 can either select and enter a userdefined range (see checkbox 3904), a monthly range (see checkbox 3906),a weekly range (see checkbox 3908, or a daily range (see checkbox 3910).For either the monthly range, the weekly range, or the daily range, theuser enters the month, week, or day, respectively, in field 3912. Ifuser defined range is selected, then the system administrator 502 canmanually enter the ranges (see 3914), or can use a calendar (see 3912).If the system administrator 502 elects the calendar option, then acalendar window 4202 is displayed. In this calendar window 4202, thesystem administrator 502 can select the days to be included in the view.

[0170] Referring again to FIG. 38, the system administrator 502 thenselects a comparison option. Preferably, the system administrator 502double clicks on a comparison button 3806, which results in the displayof a comparison option window 4002. The comparison option window 4002includes field 4004 where the system administration 502 can enter theyears that will be represented in the view (FCST stands for forecast, LYstands for last year, and LLY stands for two years ago). Recall that theanalyzer 106 utilized two prior years in its calculations. LY and LLYpreferably represents those two years.

[0171] The comparison option window 4002 also includes checkboxes 4006where the system administrator 502 can select which type of comparisonwill be used for the current view. The comparison defines how thecategory values are to be determined. For example, if the comparisonselected is forecast versus last year, then the category values aredetermined based on a comparison of forecast values and last year'svalues.

[0172] Referring again to FIG. 38, the system administrator 502 can thenselect which members he wishes to limit. This is done in the memberselection field 3808. If the system administrator 502 wishes to limitthe products that are to be in the view, then the system administrator502 checks the product checkbox 3850. In this case, the productselection window 2408 in FIG. 24 is displayed. If the systemadministrator 502 wishes to limit the locations that are to be in theview, then the system administrator 502 checks the locations checkbox3850. In this case the location selection window 2502 in FIG. 25 isdisplayed. If the system administrator 502 wishes to limit the weatherpatterns that are to be in the view, then the system administrator 502checks the weather checkbox 3854. In this case, the weather selectionwindow 4102 in FIG. 41 is displayed. All products, locations, and/orweather patterns are included in the view if the corresponding checkbox3850, 3852, and/or 3854, respectively, is not checked.

[0173] Referring back to FIG. 38, the system administrator 502 canselect which retail performance metric to include in the view. This isdone via the performance criteria fields 3810. Suppose that the saleshistory database 304 multiple metrics, such as sales units, salesdollars, etc. The system administrator 502 can select which of these toinclude in the view by checking the appropriate checkboxes 3856, 3858,3860, 3862 in the performance criteria field 3810.

[0174] It is noted that the above has been described in the context ofthe system administrator 502 performing the steps. Alternatively, theuser 402 may perform the administrator setup function 104.

[0175] After the view has been configured, the other menu options shownin FIG. 20 can be accessed (alternatively, the user can load in apreviously configured and saved view). These menu options are describedbelow.

[0176] Weather Impact

[0177]FIG. 14 presents a flowchart 1402 that represents the operation ofthe present invention when performing the weather impact function 2006.

[0178] In step 1406, the GUI 110 enables the user 402 to select one ormore products for analysis. The GUI 110 performs step 1406 by displayinga product selection window 2408 as shown in FIG. 24. Products that areavailable for selection are displayed in an Available for Selection box2402. Products that have been selected by the user 402 are displayed ina Selected box 2404. The user 402 moves products between these two boxes2402, 2404 using arrows 2406 in a well known manner.

[0179] In step 1408, the GUI 110 enables the user 402 to select one ormore locations for analysis. The GUI 110 performs step 1408 bydisplaying a location selection window 2502. Locations that areavailable for selection are displayed in an Available for Selection box2506. Locations that have been selected by the user 402 are displayed ina Selected box 2504. The user 402 moves locations between these twoboxes 2504, 2506 using arrows 2508 in a well known manner.

[0180] It is noted that steps 1406, 1408 are not necessarily performedwhen the user selects the weather impact option 2006 from the main menu2004. Steps 1406, 1408 could have been performed prior to the user 402's selection of the weather impact option 2006. For example, the mainmenu 2004 could include a Select Products option and a Select Locationoption.

[0181] In step 1410, the configurator 108 accesses the analyzer outputdatabase 310 (also called “aeoutput.dat”) and retrieves all records forthe selected products/selected locations combinations. For example, ifthe user 402 selected Store001, Store002, BOOTS, and HATS, then theconfigurator 108 in step 1410 would select records 1202, 1204, 1206, and1208 in the example analyzer output database 310 shown in FIG. 12.

[0182] In step 1412, for each selected location, the configurator 108sums the positive counts to obtain a total positive count. Theconfigurator 108 also sums the negative counts to obtain a totalnegative total, and the no change counts to obtain a total no changetotal.

[0183] In step 1414, the configurator 108 calculates a score for eachlocation. The manner in which scores are calculated is described above.These scores indicate the degree to which the sales of the selectedproducts at each selected location are impacted by the affects ofweather. The more positive the score, the greater the positive impact.The more negative the score, the greater the negative impact. If thescore is zero, then weather does not have an overall impact.

[0184] In step 1416, the configurator 108 processes these scores.Preferably, the configurator 108 processes the scores by displaying themto the user 402. The configurator 108 displays the scores to the user bydisplaying a weather impact window 2302 as shown in FIG. 23. The weatherimpact window 2302 includes a bar graph 2303. The scores for theselected locations are represented in this bar graph 2303. Inparticular, a positive score is represented by a bar that begins from anaxis 2312 (this axis 2312 is for illustrative purposes only, and is notdisplayed in the weather impact window 2302) and moves to the right (seethe bar for Oregon). A negative score is represented by a bar thatbegins at the axis 2312 and moves to the left (see the bar for KansasCity and locations displayed under Kansas City). A zero score isrepresented using a bar of essentially zero width that is even with theaxis (see the bar for the Lexington sites). Preferably, bars forpositive scores are shown in a first color (such as blue), and bars forzero and negative scores are shown in a second color (such as red).

[0185] The GUI 110 enables the user 402 to change the sets of locationsand/or products. This is generally reflected by step 1418. The user 402changes locations and/or products by selecting either a location button2306 and/or a products button 2304. This results in displaying theproduct selection window 2408 or the location selection window 2502.Operation of the configurator 108 then proceeds as described above.

[0186] Note that the locations and products shown in the weather impactwindow 2302 represent two dimensions of a database. The GUI 110 enablesthe user 402 to interchange the position of these two dimensions in theweather impact window 2302. Preferably, the user 402 does this byselecting the products button 2304 and dragging it over top thelocations button 2306, or visa versa. The GUI 110 then displays analternate weather impact window 2602 as shown in FIG. 26. FIG. 26 isvery similar to FIG. 23. In FIG. 23, however, the bars in the bar graph2303 indicate the degree to which weather impacts sales of the selectedproducts on a per selected location basis. In FIG. 26, the bars in thebar graph 2303 indicate the degree to which weather impacts sales in theselected locations on a per selected product basis.

[0187] In the embodiment shown in FIG. 26, the configurator 108 operatesas discussed above with respect to FIG. 14. However, in step 1412, foreach selected product (instead for each selected location), theconfigurator 108 sums the positive counts to obtain a total positivecount. The configurator 108 also sums the negative counts to obtain atotal negative total, and the no change counts to obtain a total nochange total. Also, in step 1414, the configurator 108 calculates ascore for each selected product (instead off or each selected location).

[0188] Referring again to FIG. 23, note that there is a Details button2308 by each bar. The user 402 can click on the Details button 2308 bythe bar for a location to obtain details as to that location. Theoperation of the present invention in this regard (i.e., to process theuser 402 's request for details) is represented by a flowchart 1502 inFIG. 15.

[0189] In steps 1506 and 1508, the products and location are selectedfor analysis. In practice, steps 1506 and 1508 are performed when theuser 408 presses the detail button 2308, since the detail button 2308that is pressed indicates the location and the products that the user402 wishes to analyze (the products are always the same when workingwith the window 2302 shown in FIG. 23; the location is that whichcorresponds to the bar graph located next to the detail button 2308 thatis pushed).

[0190] In step 1510, the configurator 108 accesses the analyzer outputdatabase 310 (also called “aeoutput.dat”) and retrieves all records forthe selected products/selected location combinations.

[0191] In step 1512, for each weather pattern represented in the recordsretrieved in step 1510, the configurator 108 generates a score (themanner in which scores are calculated is described above).

[0192] In step 1514, the GUI 110 processes these scores. Preferably, theGUI 110 processes these scores by displaying a weather pattern graphwindow 2702. The weather pattern graph window 2702 includes a bar graph2704. The GUI 110 selects the two most positive weather pattern scoresand the two most negative weather pattern scores and plots these scoresin bar graph form in the bar graph 2704. The bars for the two mostpositive scores start from an axis 2710 and move upward. These scoresare generally indicated by 2706. The bars for the two most negativescores start from the axis 2710 and move downward. These bars aregenerally indicated by 2708. These bars graphically indicate the twoweather patterns that had the greatest positive impact on the sale ofthe selected products in the selected location, and the two weatherpatterns that had the greatest negative impact on the sale of theselected products in the selected location. These four weather patternsare described in area 2710. Preferably, these descriptions are colorcoded to match the bars, which are preferably different colors(alternatively, the positive bars 2706 are one color, such as blue, andthe negative bars 2708 are another color, such as red).

[0193] The embodiment shown in FIG. 26 also has details buttons 2308.The operation of the invention when the details buttons 2308 in FIG. 26are pushed is very similar to that described above with respect to FIG.23. However, in the case of the embodiment in FIG. 26, the configurator108 in step 1510 accesses the analyzer output database 310 (also called“aeoutput.dat”) and retrieves all records for the selectedlocations/selected product combinations.

[0194] Referring again to FIG. 2704, note that there is a weather searchbutton 2712 corresponding to each bar. By pressing a weather searchbutton 2712 for a bar corresponding to a particular weather pattern, theuser 402 is able to find periods in the future where the weather patternis predicted to occur. This represents the weather pattern search option2014 (FIG. 20), and is described below.

[0195] Weather Optimization

[0196] The weather optimization option enables users 402 to reviewpredicted future retail performance of selected products at selectedlocations in view of the affect of predicted weather at these locations.The present invention performs the steps shown in flowchart 1902 of FIG.19 when the user 402 selects the weather optimization option 2012.

[0197] In steps 1906 and 1908, products and locations are selected forevaluation. The manner in which products and locations are selected isdescribed above.

[0198] In step 1910, the configurator 108 retrieves from theconfigurator output database 1390 all records relating to the selectedproducts/selected stores combinations (i.e., any entry having storedtherein one of the selected products and one of the selected stores isretrieved). Note that for any given store, there may be one or morerecords retrieved from the configurator output database 1390 (one recordfor each of the selected products that are sold in the store). In step1912, the configurator 108 processes the retrieved records. Wheremultiple records were retrieved for a given store, the configurator 108for each future period sums the positive, negative, and no change countsfrom the records and calculates an overall score for the store (takinginto account all of the selected products that are sold in the store)for each future period. The manner in which the score is calculated isdescribed above. Where there is only one record for a given store, theconfigurator 108 need not calculate a score for the score, since such ascore was already calculated and in stored in the configurator outputdatabase 1390.

[0199] Then, the GUI 110 in step 1912 displays these scores on a perstore (location) basis. In particular, the GUI 110 displays a decisionview window 2802 as shown in FIG. 28. The decision view window 2802includes a calendar graph 2810. The calendar graph 2810 includes columns2808 that represent future periods. The score for each location isgraphically represented in the calendar graph 2810 on a per periodbasis. Consider, for example, Toledo, OH. The row 2850 in the calendargraph 2810 for Toledo includes an icon for period 5/13. This row 2850includes other icons in periods 6/3 and 6/10. These icons graphicallyrepresent the scores for these periods for the selected products and forToledo. If the score is between −1.645 and +1.645, no icon is displayedas the score falls outside the confidence interval of 90%. Confidenceintervals are well known to those skilled in the relevant statisticalart(s).

[0200]FIG. 29 presents a decision time view key 2902 used forinterpreting the icons shown in the decision view window 2802. This key2902 is displayed when the user 402 presses the key icon 2804 (FIG. 28).As shown in the decision time view key 2902, there are preferably fourdifferent icons. Icon 2904 represents strongest predicted future retailperformance. Icon 2906 represents stronger predicted future retailperformance. Icon 2908 represents weaker predicted future retailperformance. Icon 2910 represents weakest predicted future retailperformance. In practice, these icons are color coded. For example, icon2906 is preferably green, icon 2906 is preferably light green, icon 2908is preferably light red, and icon 2910 is preferably red.

[0201] The GUI 110 displays icon 2904 in a time period for a location ifthe corresponding score is between 2 and 4. Icon 2906 is displayed ifthe score is between 1.645 and 2. Icon 2908 is displayed if the score isbetween −2 and −1.645. Icon 2910 is displayed if the score is between −2and −4. Icon 2912 represents null values, i.e., −1.645 to +1.645. Othervalues for assigning the icons could alternatively be used. Areas 2908,and 2906 represent a 90% confidence level. Areas 2910, and 2904represent a 95%+confidence level. Area 2912 falls below the minimumconfidence level defined herein. Other confidence intervals can be usedto provide a further breakdown of area 2912 if desired.

[0202] The GUI 110 enables the user 402 to interchange the locationdimension and the products dimension by use of the location button 2808and the products button 2806, as described above. In this case, the GUI110 displays the decision view window 3002 as shown in FIG. 30. Theoperation of the invention in this embodiment of FIG. 30 is the same asdescribed above with regard to the embodiment of FIG. 28, except that instep 1912 the configurator 108 groups together the retrieved records foreach of the selected products, and then sums the positive, negative, andno change counts from these records and calculates an overall score foreach of the selected products (that is, on a per product basis, insteadof a per location basis).

[0203] Weather Pattern Search

[0204] The weather pattern search option 2014 enables the user 402 tospecify a particular weather pattern. The system 102 then locates anyfuture periods in selected locations where the particular weatherpattern is predicted to occur. The operation of the present inventionwhen performing the weather pattern search option 2014 is represented bya flowchart 1702 in FIG. 17.

[0205] In step 1706, the GUI 110 displays a weather pattern searchwindow 3102. The user 402 then selects a weather pattern to search for.The user 402 may enter a search key for any number of consecutiveperiods. The user can select the number of periods by pressing button3150. The search keys for these periods are shown in the searchselection area that is generally designated by 3112. In the example ofFIG. 31, the user 402 has selected five consecutive periods. To theright of this area 3112 are various icons representing weather searchpattern keys that the user 402 may select. In particular, there is anicon 3114 for warm temperature (i.e., above seasonal), an icon 3116 forseasonal temperature, and icon 3118 for cold temperature (i.e., belowseasonal), an icon 3120 for wet precipitation (i.e., above seasonal), anicon 3122 for seasonal precipitation, an icon 3124 for above seasonalsnowfall, and an icon 3126 for seasonal snowfall. These icons mayinclude graphical items, such as two raindrops for wet or heavier thanseasonal precipitation in icon 3120, one raindrop for seasonalprecipitation in icon 3122, two snowflakes for heavier than seasonalsnow in icon 3124, and one snowflake for seasonal snow in icon 3126. Theicons may also be color coded, such as red for icon 3114, grey for icon3116, and blue for icon 3118.

[0206] The user 402 specifies a weather pattern search key for a periodin the area 3112 by selecting one of the search icons 3114, 3116, 3118,3120, 3122, 3124, 3126, dragging the selected search icon to one of theperiods in the area 3112, and then dropping the selected search iconinto the period in the area 3112. For example, in FIG. 31, the user 402has selected icon 3114 (warm temperature) and dropped it into period3152 in the area 3112. The invention allows a period to have more thanone search icon. Thus, in FIG. 31, the user 402 has selected icon 3120(wet), and has dropped it into period 3152. Accordingly, for period3152, the user 402 has indicated that he wants to search for a period ofwarm temperature and wet precipitation. The user 402 can specify theweather pattern for the other four periods in a similar manner (theseperiods have not yet been specified by the user 402), or simply leavethem as “?” and the system will return the next four weather patternsfollowing the selected weather pattern.

[0207] It step 1708, the user 402 selects the locations for the search.The user 402 preferably performs step 1708 via location selection window2502, as described above.

[0208] In step 1712, the system 102 (either the GUI 110 or theconfigurator 108) searches through the weather forecast database 312 tolocate a sequence of periods that match the sequence that the userspecified in the search selection area 3112. Specifically, the system102 compares the weather pattern search keys from the search selectionarea 3112 to the category entries in the weather forecast database 312.Consider the weather pattern search key that the user 402 entered forperiod 3152 in FIG. 31. This weather pattern search key represents T1P1(temperature above seasonal/precipitation above seasonal). The system102 searches through the temp.cat and pree.cat entries in the weatherforecast database 312 to identify periods where weather pattern T1P1 ispredicted to occur. Periods P1, P2, and P5 match this search criteria inthe example shown in FIG. 22. The system 102 then determines whether thefour periods respectively following periods P1, P2, and P5 match theweather patterns entered by the user 402 in periods 3152, 3154, 3156,and 3158 of the search selection area 3112. The period is a “don't care”if the user 402 did not enter a weather pattern into the area and willdisplay any four patterns that happen to follow the selected pattern

[0209] In step 1714, the GUI 110 displays forecast weather informationfor the selected locations in a calendar graph 3160. The GUI 110performs step 1714 by retrieving from the weather forecast database 312the weather pattern (from category entries) for the selected locations.The GUI 110 then represents these weather patterns in the calendar graph3160 using the same icons 3114, 3116, 3118, 3120, 3122, 3124, and 3126that the user 420 used to define the search criteria. The calendar graph3160 includes a number of columns 3110 that corresponds to periods. Thestarting period displayed in the calendar graph 3160 is determined bythe periods matching the search sequence (entered by the user 420 in thesearch selection area 3112) and appears to the left of the calendargraph 3160.

[0210] Flowchart 1702 is complete after step 1714 is performed, asindicated by step 1714.

[0211] The weather pattern search option 2014 has been described withrespect to search for weather patterns predicted to occur in futureperiods. Alternatively, the weather pattern search option 2014 can bealternatively used to search for weather patterns that occurred in pastperiods. This can be achieved by using the weather history database 306,instead of the weather forecast database 312 by changing the comparisonbutton 3106 to Last Year Actual vs Seasonal.

[0212] Weather Query

[0213] The weather pattern search option 2014 (described above) locatesa sequence of periods (either past or future) that match a sequence ofweather patterns entered by the user 420. The weather query option 2016is similar to the weather pattern search option 2014. However, theweather query option 2016 locates periods (past or future) that matchquantitative relationships entered by the user 420. For example, theweather query option 2016 can be used to find all periods where thetemperature was greater than 85 degrees, or where the snowfall was lessthan 2 inches. The operation of the system 102 when performing theweather query option 2016 is represented by a flowchart 1802 in FIG. 18.

[0214] In step 1806, the GUI 110 displays a weather query window 3202 asshown in FIG. 32. The user 420 interacts with this window 3202 to definea weather search criteria. Specifically, the user 420 opens a first pulldown window to select whether the search will be done using the weatherforecast database 312 and/or the weather history database 306. The user420 opens a second pull down window 3208 to define the logicalrelationship, such as equal to, greater than, or less than. The user 420opens a third pull down window 3210 to enter the value that will be usedfor comparison. The user 420 opens a fourth pull down window 3212 todefine the units (degrees, inches of snow, inches of precipitation,etc.) for the value entered via the third pull down window 3210. In theexample shown in FIG. 32, the user 420 has defined the following search:locate all periods where the temperature was greater than 88 degrees.

[0215] In step 1808, the user 420 selects locations to include in thesearch. The user 420 preferably performs step 1808 through interactionwith the location selection window 2502, described above (access to thiswindow 2502 is achieved by pressing the cities button 3204).

[0216] In step 1812, the system 102 (either the GUI 110 or theconfigurator 108) searches through the weather history database 306 (ifthe user 420 entered a date in the past) or the weather forecastdatabase 312 (if the user 420 entered a future date) and locates anyperiods for the selected locations and after the selected start datewhere the weather satisfies the criteria entered by the user 420 in step1806.

[0217] In step 1814, the GUI 110 displays this information in a resultsarea 3214 of the weather query window 3202.

[0218] Flowchart 1802 is complete after step 1814 is performed, asindicated by step 1816.

[0219] Alternative Report Formats

[0220] The system 102 supports reporting formats other than thosediscussed above. For example, the system 102 supports a location report3302 as shown in FIG. 33. The location report 3302 includes an image ofa geographical area, such as the United States. An oval 3304 isdisplayed over every selected location (i.e., every selected metro areaor store). The ovals 3304 are color coded in the same way as the defaultreporting format.

[0221] For example, consider the decision view window 2802 shown in FIG.28. This window 2802 is the default reporting format for the weatheroptimization option 2012. The information contained in the decision viewwindow 2802 can alternatively be displayed using the location report3302 (the user 402 preferably switches to the location report 3302 byselecting an appropriate option in the View pull down menu 2890). To usethe location report 3302, the user 420 must enter a time period in theperiod field 3306. In the location report 3302, the ovals 3304 are colorcoded so as to graphically indicate the predicted strength of retailperformance in the selected stored on the period entered into the periodfield 3306. As indicated above, the ovals 3304 are color coded using thescheme from the default reporting format, in this case the decision viewwindow 2802. Accordingly, when processing the weather optimizationoption 2012, the color coding scheme shown in FIG. 29 is used.

[0222] The invention also supports a text based report format 3402 asshown in FIG. 34. In the example shown in FIG. 34, weather that hasoccurred in the past and/or that is predicted to occur in the future isdisplayed for a location specified in a location field 3404 (in thiscase, Washington, D.C.). In the text based report format 3402, theperiod must be greater than one day. In the example shown in FIG. 34,the period is one week. The user 402 can adjust the length of the timeperiod to anything greater than one day. If the user 402 wishes to viewinformation on a daily basis, then the daily report format is used(discussed below).

[0223] The user 402 can elect the text based report format 3402 from thedefault reporting format from any of the options available from the mainmenu 2004. For example, the user 402 can elect to view the results ofthe weather pattern search 2014 in the text based report format 3402.The user 402 does this by selecting one of the locations while at theweather pattern search window 3102 (FIG. 31), and then selecting thetext based report format 3402 from the View pull down menu 3101.Information that is required for display in the text based report format3402 is retrieved from the weather history database 306 and/or theweather forecast database 312. Electing the text based report format3402 from the weather impact window 2302, the decision view window 2802,or the weather query window 3202 proceeds in a similar manner.

[0224] As noted above, the daily report format 3502 (FIG. 35) is used ifthe user 402 wishes to view data on a daily basis. The user 402 canelect the daily report format 3502 from the default reporting formatfrom any of the options available from the main menu 2004. For example,the user 402 can elect to view the results of the weather pattern search2014 in the daily report format 3502. The user 402 does this byselecting one of the locations while at the weather pattern searchwindow 3102 (FIG. 31), and then selecting the daily report format 3402from the View pull down menu 3101. Information that is required fordisplay in the text based report format 3402 is retrieved from theweather history database 306 and/or the weather forecast database 312.Electing the daily report format 3502 from the weather impact window2302, the decision view window 2802, or the weather query window 3202proceeds in a similar manner.

[0225] The daily report format 3502 preferably includes at least one rowthat is color coded for ease of viewing. In the example of FIG. 35, atemperature forecast row 3514 is color coded. In particular, cold daysare color coded with a first color (such as blue), warm days are colorcoded with a second color (such as pink), seasonal days are color codedwith a third color (such as green), and very warm days are color codedwith a fourth color (such as red). What constitutes cold, warm,seasonal, and very warm is implementation dependent. Note that the textbased report format 3402 can be color coded in a similar manner.

[0226] The invention also supports a calendar format 3602 (FIG. 36A).The calendar format 3602 includes a calendar image of a month selectedby the user 402. Icons are displayed in the days of this month. Theseicons correspond to those from the default reporting format. Consider,for example, the weather pattern search window 3102. The user 402 canelect to view the results of the weather pattern search 2014 in thecalendar report format 3602 by selecting one of the locations while atthe weather pattern search window 3102 (FIG. 31), and then selecting thecalendar report format 3502 from the View pull down menu 3101. Iconsdisplayed in the weather pattern search window 3102 are then displayedin the corresponding days of the calendar report format 3602. The user402 can view a legend for the icons displayed in the calendar view 3602by pressing a key button 3606.

[0227] The calendar format 3602 also includes a summary of the weatherthat occurred or that is predicted to occur in the subject month. Thissummary is provided in both the weather history database 306 and theweather forecast database 312. A similar summary could also be displayedin any of the other reporting formats discussed herein.

[0228]FIG. 36B illustrates the calendar format 3620 when displayed inconjunction with weather optimization 2012. The calendar format 3620presents information for a user-selected location. An icon is displayedfor each day. These icons are the same that are used in the decisionview window 2802 (FIG. 28). A legend for these icons can be viewed bypressing an icon button 3624.

[0229] Scope of the invention

[0230] While various embodiments of the present invention have beendescribed above, it should be understood that they have been presentedby way of example only, and not limitation. Thus, the breadth and scopeof the present invention should not be limited by any of theabove-described exemplary embodiments, but should be defined only inaccordance with the following claims and their equivalents.

[0231] For example, for illustrative purposes, the present invention hasbeen described above in the context of the retail industry. However, theinvention is not limited to this embodiment. The present invention iswell suited, adapted, and intended for use with any endeavor and/orindustry and/or market that is potentially or actually impacted byweather. This includes, but is not limited to, retail products andservices, manufacturing/production (i.e., construction, utilities, movieproduction companies, advertising agencies, forestry, mining),transportation, the entertainment industry, the restaurant industry,etc.

Example Alternative Embodiment—Consumer Weather Planner Introduction

[0232] While the above description has focused on business applicationssuch as the retail industry, the present invention also contemplates aconsumer application. Like business activities, such as activities ofretail companies, activities of individual consumers are affected by theweather. Based on the forecasted weather, aconsumer's planned specialevent (e.g., golfing, skiing, fishing, boating, vacations, familyreunions, weddings, honeymoons, and the like) will be affected much likea retailer as described above. The present invention thus contemplates aconsumer weather planner system 4300 (similar to forecasting system 102)as shown in FIG. 43.

[0233] Referring to FIG. 43, the manner in which consumers (users 402)may navigate through functions and services provided by the consumerweather planner system 4300 according to an embodiment of the inventionis shown. Consumer weather planner system 4300 may run on a computingenvironment similar to computer 202. The consumer weather planner system4300 provides a GUI 4301 (similar to GUI 110) so that it may beaccessible and customizable by a consumer directly on a desktopcomputer, via a World Wide Web page over the Internet (i.e., throughon-line services), or accessible via an Intranet. In an alternativeembodiment, it maybe accessible via telephone services or the like. Itshould be understood that the control flows shown in FIG. 43 arepresented for example purposes only. The GUI 4301 of the presentinvention is sufficiently flexible and configurable such that users 402may navigate through the system 4300 in ways other than that shown inFIG. 43.

[0234] If a consumer is planning a special future event such as a familyreunion, a wedding or vacation, consumer weather forecast system 4300offers a reliable way to assure “nice” weather. Consumer weatherforecast system 4300 may be the basis of an advisory service, providingnot just forecasts, but recommendations and advice to help consumersmake better planning decisions through detailed, reliable and customizedforecasts up to one year in advance.

[0235] In a preferred embodiment, consumer weather planner system 4300provides three modules: a Weather-for-Event module 4304; aLocation-for-Event module 4306; and a Date-for-Event module 4308. Thesethree modules, accessible via a main menu 4302 linked to the GUI 4301,are first described briefly below and then in detail with reference toFIGS. 44, 46 and 48, respectively.

[0236] Weather-for-Event module 4304 may be used by a user 402, if theyare sure of where they will be and when they will be there, to find theweather for their event. Consumer weather planner system 4300 causes acomplete report 4310 to be outputted, which includes graphics on theconditions the user 402 may expect for their future event.

[0237] Location-for-Event module 4306 may be used by a user 402, if theyknow when they want to go (i.e., the time period) and the kind ofweather they want. In a preferred embodiment, consumer weather plannersystem 4300 lets the user 402 choose three locations and then causes areport 4320 to be outputted with text and custom graphics reportingwhich one of the three inputted locations will have the kind of weatherthe user 402 desires.

[0238] Date-for-Event module 4308 may be used by a user 402, if they aresure of where they're going to be and what kind of weather they desire.Consumer weather planner system 4300 causes a report 4330 to beoutputted to the user 402 that will assist in determining the best timefor the future event.

Definitions

[0239] Before further describing the three modules of the consumerweather planner system 4300, the following terms used herein below(especially within the GUI 4301) are first defined. In the event that aterm defined herein has a more common meaning or usage, the definitionprovided herein should be taken as the intended meaning.

[0240] Cold—The term most often used during the months from late fall toearly spring (depending on the geographic location) to describe a periodwith temperatures that are below the seasonal (normal) range.

[0241] Precipitation—Any or all forms of water particles, whether liquidor solid, that fall from the atmosphere. The term includes such forms asdrizzle, rain, showers, snowfall, snow pellets or grains, ice crystals,and hail.

[0242] Seasonable—In keeping with, or appropriate to, the time orseason; timely; about normal or routine for the time of the year.Typical weather elements (temperature, precipitation, etc.) for a givenlocation at a specific time (daily, weekly, monthly, yearly, etc.).

[0243] Warm—Temperatures that are above the seasonal (normal) range fora given location at a specific period of time.

Weather-for-Event Module

[0244] Referring to FIG. 44, a flowchart illustrating the detailedoperation of the Weather-for-Event module 4304 is shown.Weather-for-Event module 4304, after being selected via the main menu4302, begins at step 4400 with control passing immediately to step 4402.In step 4402, the user 402 is prompted to enter a geographic location.The geographic location may be identified as a state or province, a cityor town or by zip code. The zip code will override any entered state orcity selections. In alternate embodiments, the geographic location mayalso be specified, for example, from a list of known ski resorts,Carribean resorts, national parks, and the like. An exemplary GUI screenfor allowing the user 402 to enter the desired geographic location isshown in FIG. 50A.

[0245] After entering the geographic location, the user 402 is presentedwith a choice of how to enter the specified dates for the event (i.e.,the time period). The first option is to enter a holiday (step 4406) andthen enter a year for the holiday (step 4408). In a preferredembodiment, Weather-for-Event module 4304 will eventually generate aweather report for the holiday, but anticipates a possiblegreater/lesser than three days on either side of the holiday.Alternately, instead of entering a holiday and a year, the user 402 mayenter a specific starting date (step 4410) and then a specific endingdate (step 4412). The starting date and ending date are specified in theconventional terms of month, day and year. An exemplary GUI screen forallowing the user 402 to enter the desired time period, via eitheroption, is shown in FIG. 50B.

[0246] Consumer weather planner system 4300 then proceeds to step 4416.In step 4416, the weather query step 2016 is performed as describedabove with reference to FIG. 20. Using the inputs entered by the user(i.e, steps 4402-4412), the weather query step 4416 searches for thespecified weather for the specified time period within weather forecastdatabase 312, as also described above. In step 4418, an output report4310 is generated. Weather-for-Event module 4304 is thus completed asindicated by step 4420.

[0247] Referring to FIG. 45, an exemplary output report 4310 for theWeather-for-Event module 4304 is shown. The criteria entered from steps4402-4412 are summarized on a first portion 4502 of a first page of thereport 4310. Report 4330 also includes a detailed weather plan for thetime period and geographic location (second portion 4504) according tothe weather query search 2016 results.

[0248] It should be understood that the report 4330 shown in FIG. 45, aswell as reports 4320 and 4330 described below, are presented for examplepurposes only. The GUI 4301 of the present invention is sufficientlyflexible and configurable such that users 402 may receive reports inother formats including graphs, charts, and the like.

Location-for-Event Module

[0249] Referring to FIG. 46, a flowchart illustrating the detailedoperation of the Location-for-Event module 4306 is shown.Location-for-Event module 4306, after being selected via the main menu4302, begins at step 4600 with control passing immediately to step 4602or to step 4606. In steps 4602-4608, the user 402 is presented with achoice of how to specify the time period for their event. The user 402may enter a starting date and an ending date in steps 4602 and 4604,respectively. An alternate option is for the user 402 to enter a holidayand a year of the holiday in steps 4606 and 4608, respectively. Theexemplary GUI screen for allowing the user 402 to enter the desired timeperiod, as shown in FIG. 50B and described above, may also be used inthe Location-for-Event module 4306.

[0250] After using one of the alternate methods to specify the timeperiod for the event, the user 402 then again has a choice of how toenter the specific weather they desire for their event. In step 4616,the user 402 may simply enter warm, seasonable or cold to specify thetype of weather they desire. Alternately, in steps 4610 and 4612, theuser 402 may enter a daytime high temperature and a nighttime lowtemperature, respectively. An exemplary GUI screen for allowing the user402 to enter the desired weather, via either option, is shown in FIG. S0 C.

[0251] In step 4614, the user 402 is prompted to select the desiredprecipitation level. The level may be significant rain, non-significantrain, significant snow, non-significant snow, non-significant rain orsnow, or any precipitation. Other ways to enter weather criteria canalso be used, such as the techniques discussed elsewhere herein.Location -for-Event module 4306 then proceeds to step 4620. In step4620, the user 402 enters their first choice for a preferred geographiclocation. The entering of the preferred geographic location is similarto that described with reference to FIG. 44 (step 4402) above. In step4622, the user 402 enters their second choice for a preferred geographiclocation and, in step 4624, the user 402 enters their third choice for apreferred geographic location. The exemplary GUI screen for allowing theuser 402 to enter the desired geographic location, as shown in FIG. 50A,may also be used (i.e., three iterations) for the Location -for-Eventmodule 4306.

[0252] Location-for-Event 4306 then proceeds to step 4626, where weatherpattern search 2014 is performed. Weather pattern search 2014 functionsas described above with reference to FIG. 20 using the future datawithin weather patterns database 308. After the weather pattern search2014 is performed, an output report 4320 is generated. Output report4320 is shown in FIGS. 47A and 47B. Location for event 4306 then ends asindicated by step 4630.

[0253] Referring to FIGS. 47A and 47B, an exemplary output report 4320for the Location-for-Event module 4306 is shown. In FIG. 47A, thecriteria entered from steps 4602-4824 are summarized on a first page ofthe report 4320. In FIG. 47B, a detailed weather plan is given on asecond page of the report 4320 for the location which ranks firstaccording to the weather pattern search 2014 results. It should also benoted that the output report 4320 may return an empty calendar if nolocation matches the criteria selected by the user 402.

Date-for-Event Module

[0254] Referring to FIG. 48, a flowchart illustrating the detailedoperation of the Date-for-Event module 4308 is shown. Date-for-Eventmodule 4308, after being selected via the main menu 4302, begins at step4800 with control passing immediately to step 4802. In step 4802, theuser 402 enters their desired geographic location. Step 4802 functionsas described above with reference to FIGS. 44 (step 4402) and the GUIscreen of FIG. 50A.

[0255] After entering a preferred geographic location, the user 402faces a choice. In step 4810, the user 402 may either enter warm,seasonal, or cold as their desired weather. Alternately, the user 402may enter a daytime high temperature and a nighttime low temperature asindicated by steps 4804 and 4806, respectively. In step 4808, the user402 is prompted to select the desired precipitation level. Steps4804-4810 function in the same manner as steps 4610-4614, respectively,as described above with reference to FIG. 46. Further, the exemplary GUIscreen for allowing the user 402 to enter the desired weather, as shownin FIG. 50C, may also be used for the Date-for-Event module 4308.

[0256] After the user 402 specifies the type of weather they desire,either by steps 4804-4806, or by step 4810, the user 402 must specify adesired date range (i.e., time period). In step 4812, the user 402 isasked to enter a month range (i.e., one month or a plurality of months).In a preferred embodiment of the present invention, the user 402 mayselect a month range of either one, two or three consecutive months inwhich the weather pattern search 2014 will eventually search.

[0257] Proceeding to step 4814, the user 402 is asked to enter the dayof the week in which to start searching. The day of the week may bespecified by any day (i.e., Sunday through Saturday). In step 4816, theuser 402 is asked to enter a number of consecutive days in which tosearch. In a preferred embodiment of the present invention, the numberof consecutive days in which to search is limited to ten days (forsimplicity of outputting report 4330). An exemplary GUI screen forallowing the user 402 to enter the desired date range (steps 4812-4816)is shown in FIG. 50D.

[0258] In step 4814, weather pattern search 2014 functions as describedabove with reference to FIG. 20 using the future data within weatherpatterns database 308. Date-for-event module 4308 then proceeds to step4820. In step 4820, output report 4330 is generated. Date-for-eventmodule 4308 then ends as indicated by step 4822.

[0259] Referring to FIGS. 49A and 49B, an exemplary output report 4330for the Date-for-Event module 4308 is shown. In FIG. 49A, the criteriaentered from steps 4802-4816 are summarized on the right side of a firstpage of the report 4330. The rankings (i.e., first 4902, second 4904,and third 4906), which are explained in detail below, which are returnedby the weather pattern search 2014 results are reflected in a calendaron the left side of the first page of the report 4330. In FIG. 49B, adetailed weather plan is given on a second page of the report 4330 forthe time period which ranks first according to the weather patternsearch 2014 results. It should also be noted that the output report 4330may return an empty calendar if no date matches the criteria selected bythe user 402.

[0260] In an alternate embodiment of the present invention, the consumerweather planner system 4300 will prompt the user 402 for the specificspecial event (e.g., golfing, skiing, wedding, etc.) they are planning.In such an embodiment, each of the output reports 4310, 4320 and 4330may be customized accordingly.

Weather Pattern Search for Location-for-Event and Date-for-Event

[0261] As mentioned above, Location-for-Event module 4306 andDate-for-Event module 4308 make use of weather pattern search 2014.Weather pattern search 2014 functions as described above with referenceto FIG. 20 using the future data within weather patterns database 308.However, consumer weather planner system 4300 employs a 24 hour “leeway”during the Location-for-Event module 4306 and the Date-for-Event module4308. That is, the time period entered by the user is modified by ±1day. Thus, an inputted time period of Jul. 10, 1999 to Jul. 13, 1999(e.g., steps 4602-4604) will actually be searched as Jul. 9, 1999 toJul. 14, 1999 in the weather forecast data 312.

[0262] Furthermore, if a user 402 desires “warm” days over a four dayperiod, the weather pattern search 2014 has to resolve “conflicts” overcompeting like weather (i.e., warm) periods within a month. That is, asituation may occur where a consecutive number of seven warm days and aconsecutive number of five warm days are separated by a few cool days.To resolve such conflicts, the period of seven days is given a greaterweight in order to arrive at the rankings shown, for example, in FIG.49A.

[0263] To arrive at rankings, consumer weather planner system 4300preferably uses a weather period of at least two consecutive days withtemperatures matching the desired weather (i.e., warm). In a preferredembodiment, weight assignments are then made to each of the days using a“pyramid” fashion starting from the tail ends being assigned the valueof 1. For a four day period (which is turned into a six day period dueto the ±1 day leeway), each day is weighted from the center to the tailsas 1, 2, 3, 3, 2 and 1. Each day's weight reflects the number of warmdays surrounding it. The weight for the period is then the sum total forthe interval (i.e., 12). So when a user desires a warm period theLocation-for-Event module 4306 and the Date-for-Event module 4308 canevaluate like (competing) warm periods using the weights. For example,the weight of 12 may be compared to smaller or larger warm periods so itcan be ranked in the output reports 4320 and 4330. Ties in the rankingsare simply reported in the output reports 4320 and 4330. As will beapparent to one skilled in the relevant art(s), the same pyramidweighting heuristic can be used for precipitation.

[0264] In the above, example values have been provided for a number ofelements, such as but not limited to intervals, time period offsets,periods, etc. These values have been provided for illustrative purposesonly. Thus, the invention is not limited to these values.

What is claimed is:
 1. A method for providing weather planning services,comprising the steps of: (1) receiving a geographic location input for afuture event; (2) receiving a future time period input for said futureevent; and (3) causing a report to be displayed comprising the weatherplan, during said future time period, for said geographic location;whereby said report is used by a user to determine the weather for saidfuture event.
 2. The method of claim 1, wherein steps (1)-(3) areperformed over the Internet.
 3. The method of claim 1, wherein saidfuture time period input is up to one-year ahead.
 4. The method of claim1, wherein step (2) comprises the step of: receiving said future timeperiod input specified in one of the following formats: (a) a holidayand a year for said holiday for said future event; and (b) a startingdate and an ending date for said future event.
 5. The method of claim 1,wherein step (3) comprises the steps of: (a) generating a weather planfor said geographic location during said future time period; (b)transferring said weather plan to a requestor.
 6. A method for providingweather planning services, comprising the steps of: (1) receiving afuture time period input for a future event; (2) receiving a preferredweather pattern input for said future event; (3) receiving a list ofpreferred geographic locations for said future event; and (4) causing areport to be displayed listing dates, within said future time period,that satisfy said preferred weather pattern, for each of said preferredgeographic locations; whereby said report is used by a user to selectthe geographic location for said future event.
 7. The method of claim 6,wherein steps (1)-(4) are performed over the Internet.
 8. The method ofclaim 6, wherein said future time period input is up to one-year ahead.9. The method of claim 6, wherein step (1) comprises the step of:receiving said future time period input specified in one of thefollowing formats: (a) a holiday and a year for said holiday for saidfuture event; and (b) a starting date and an ending date for said futureevent.
 10. The method of claim 6, wherein step (2) comprises the stepof: receiving said preferred weather pattern input specified in one ofthe following formats: (a) a daytime high temperature, a nighttime lowtemperature, and a desired precipitation level for said future event;and (b) a desired temperature for said future event, wherein saiddesired temperature is specified as one of the following: (i) warm; (ii)seasonable; and (iii) cold.
 11. The method of claim 6, wherein step (4)comprises the steps of: (a) generating a weather plan for each day ofsaid future time period for each of said preferred geographic locations;and (b) transferring said weather plan to a requestor.
 12. The method ofclaim 11, wherein step (4) further comprises the step of: (c) displayinga ranking for each of said list of preferred geographic locations,wherein said ranking is based on said weather plan.
 13. The method ofclaim 12, wherein step (4) further comprises the step of: (d) resolvingconflicts among said rankings by weighting said preferred weatherpattern input for each day of said future time period using said weatherplan.
 14. A method for providing weather planning services, comprisingthe steps of: (1) receiving a preferred weather pattern input for afuture event; (2) receiving a future time period input for said futureevent; (3) receiving a geographic location input for said future event;and (4) causing a report to be displayed that lists dates, within saidfuture time period, that satisfy said preferred weather pattern for saidgeographic location; whereby said report is used by a user to select adate for said future event.
 15. The method of claim 14, wherein steps(1)-(4) are performed over the Internet.
 16. The method of claim 14,wherein said future time period input is up to one-year ahead.
 17. Themethod of claim 14, wherein step (1) comprises the step of: receivingsaid preferred weather pattern input specified in one of the followingformats: (a) a daytime high temperature, a nighttime low temperature,and a desired precipitation level for said future event; and (b) adesired temperature for said future event, wherein said desiredtemperature is specified as one of the following: (i) warm; (ii)seasonable; and (iii) cold.
 18. The method of claim 14, wherein step (2)comprises the steps of: (a) receiving a month range input for saidfuture event; (b) receiving a start day of the week input for saidfuture event; and (c) receiving a number of consecutive days input forsaid future event.
 19. The method of claim 14, wherein step (4)comprises the steps of: (a) generating a weather plan for each day ofsaid future time period for said geographic location; and (b)transferring said weather plan to a requester.
 20. The method of claim19, wherein step (4) further comprises the step of: (c) displaying aranking for each of said dates, wherein said ranking is based on saidweather plan.
 21. The method of claim 20, wherein step (4) furthercomprises the step of: (d) resolving conflicts among said rankings byweighting said preferred weather pattern input for each day of saidfuture time period using said weather plan.
 22. A method for receivingweather planning services, comprising the steps of: (1) providing ageographic location input for a future event; (2) providing a futuretime period input for said future event, wherein said future time periodinput is up to one-year ahead; and (3) displaying a report to bedisplayed comprising the weather plan, during said future time period,for said geographic location; whereby said report is used by a user todetermine the weather for said future event.
 23. A method for receivingweather planning services, comprising the steps of: (1) providing afuture time period input for a future event, wherein said future timeperiod is up to one-year ahead; (2) providing a preferred weatherpattern input for said future event; (3) providing a list of preferredgeographic locations for said future event; and (4) displaying a reportlisting dates, within said future time period, that satisfy saidpreferred weather pattern, for each of said preferred geographiclocations; whereby said report is used to select the geographic locationfor said future event.
 24. A method for receiving weather planningservices, comprising the steps of: (1) providing a preferred weatherpattern input for a future event; (2) providing a future time periodinput for said future event; (3) providing a geographic location inputfor said future event; and (4) displaying a report listing dates, withinsaid future time period, that satisfy said preferred weather pattern forsaid geographic location; whereby said report is used to select a datefor said future event.
 25. A computer program product comprising acomputer usable medium having computer readable program code meansembodied in said medium for causing an application program to execute ona computer that provides weather planning services, said computerreadable program code means comprising: a first computer readableprogram code means for causing the computer to receive a geographiclocation input for a future event; a second computer readable programcode means for causing the computer to receive a future time periodinput for said future event; and a third computer readable program codemeans for causing the computer to cause a report to be displayedcomprising the weather plan, during said future time period, for saidgeographic location.
 26. A computer program product comprising acomputer usable medium having computer readable program code meansembodied in said medium for causing an application program to execute ona computer that provides weather planning services, said computerreadable program code means comprising: a first computer readableprogram code means for causing the computer to receive a future timeperiod input for a future event; a second computer readable program codemeans for causing the computer to receive a preferred weather patterninput for said future event; a third computer readable program codemeans for causing the computer to receive a list of preferred geographiclocations for said future event; and a fourth computer readable programcode means for causing the computer to cause a report to be displayedlisting dates, within said future time period, that satisfy saidpreferred weather pattern, for each of said preferred geographiclocations.
 27. A computer program product comprising a computer usablemedium having computer readable program code means embodied in saidmedium for causing an application program to execute on a computer thatprovides weather planning services, said computer readable program codemeans comprising: a first computer readable program code means forcausing the computer to receive a preferred weather pattern input for afuture event; a second computer readable program code means for causingthe computer to receive a future time period input for said futureevent; a third computer readable program code means for causing thecomputer to receive a geographic location input for said future event;and a fourth computer readable program code means for causing thecomputer to cause a report to be displayed that lists dates, within saidfuture time period, that satisfy said preferred weather pattern for saidgeographic location.